The present invention relates to a communication method and system for transmitting data between data processing devices via a communication network.
The exchange of data between data processing devices is becoming increasingly popular and widespread in work environments as well as for private use. Services and applications, as for example xe2x80x9cemailxe2x80x9d (electronic mail) and remote data base research, applications using an xe2x80x9cInternetxe2x80x9d and the like are well known. These applications are designed to make use of networks of computers, connected to each other via communication links for exchanging application related data. The exchange of data between data processing devices or computers, respectively, via the network is usually facilitated by specific rules or communication protocols, mainly implemented in software, which assure the execution of the same prespecified processing steps for data transmission at the sending as well as at the receiving computer.
For exchanging data, data processing devices or computer of a network do not necessarily have to be connected by fixed communication lines, communication can be conducted via temporary links and indirect links, respectively, and, in networks different types of data transmission may be combined.
Two basic techniques for communication via a network or a network of networks may be distinguished: Firstly, data can be transmitted via a switched or direct communication line, respectively, e.g. used in a telephone network. This first technique is also termed circuit switched transmission. Secondly, data can be transmitted in small chunks or packets, which are all individually routed to the recipient via the network, possibly on different paths and with different transmission times. This technique is also termed packet switched transmission. For packet switched transmission of information, communicating devices do not have to be connected directly, since the packets of information are transmitted in the network in steps between usually several nodes of the network, which may intermediately store the packets before further transmission. However, it is required for both, circuit switched transmission and packet switched transmission, that prespecified rules or protocols for data exchange are mutually obeyed by the sending and the receiving data processing device. As mentioned before, both techniques may be used in combination, e.g., in compound networks.
A large variety of networks of data processing devices exists, usually designed for specific applications and environments. For example, local area networks are used for smaller communities such as company sites or university campuses, whereas wide area networks are used for connecting computers over larger distances or local area networks amongst each other.
A well known and widely used network is the so-called xe2x80x9cInternetxe2x80x9d, connecting data processing devices via a network of interlinked nodes virtually all over the world. An essential characterizing feature of the xe2x80x9cInternetxe2x80x9d is the use of a set of common rules or protocols for transmitting and receiving data at data processing devices via communication links of various types.
Subscribers of xe2x80x9cInternetxe2x80x9d services often connect their personal computer via a regular telephone line to an access node of the xe2x80x9cInternetxe2x80x9d, in order to establish a link to the network. Usually, this involves connecting the computer via a modem to the telephone line, to dial a prespecified number to access the nearest node of the network and to perform certain access and security routines. After the subscriber is connected to the network, data communication between the subscriber""s computer and the access node or any another computer of the network via the access node can be easily performed using various application programs.
The actual communication is handled by a set of protocols and largely remains invisible to the user. Such sets of communication protocols, also termed protocol suites, used for exchanging data between data processing devices are usually hierarchically layered, which each layer performing a certain task, from high level communication commands down to the actual management of the physical medium used for transmitting data. Tasks include, for example, partitioning a message into individual data packets, scheduling the packets for transmission, generating signals corresponding to the data of the packets suitable for transmission over the used communication link and the like.
A widely used protocol suite for xe2x80x9cInternetxe2x80x9d applications for exchanging data between data processing devices is the so-called TCP/IP protocol suite. TCP/IP was initially developed to connect a number of different networks designed by different vendors into a network of networks, the xe2x80x9cInternetxe2x80x9d. TCP/IP delivers some basic services frequently needed for data exchange between data processing devices, such as file transfer, electronic mail and remote logon. The set of protocols is responsible for guaranteeing that data reach the designated recipient. The protocols keeps track of data sent and retransmit anything that did not arrive properly. If a message is too large for transmission in a single packet, e.g., the text of a message, it is split up into several packets and subsequently those packets are scheduled for transmission.
If packets of data are transmitted in a network, as described above, the communication link does not require a permanent connection, since all packets are sent individually with individual headers containing address and recipient information. It is perfectly possible that packets of the same message are transmitted via different physical paths and arrive at different times, even in reversed order.
However, it is possible, that the communication network does not only use a physical medium suited for packet switched transmission, e.g., networks using direct lines may be included, as outlined before. In the following therefore a case is considered, where the communication link includes a mobile communication network. It be assumed, that a computer is connected to a network via a mobile station and a mobile communication link and the data packets exchanged with another computer are therefore transmitted via said mobile station.
This example is further illustrated in FIG. 7 showing a known communication system. In FIG. 7, a first data processing device Cl is connected to a second data processing device C2 via a communication network CN, an interface I and an xe2x80x9cInternetxe2x80x9d. Due to the nature of the communication network, it can occur that some data packets are lost during transmission due to states of the communication network. For example, during handover procedures between two base stations of the mobile communication network, the communication line is temporarily interrupted for a short period of time of 50 to 300 ms. Although this does not significantly degrade the quality of transmitted speech, however, the loss of data packets being sent during the short interruption of the network, can trigger certain reactions of a data processing device, controlled by the particular protocols used, which are responsible for data transmission. This can significantly degrade the overall data transmission speed.
For example, the TCP/IP protocol suite incorporates an avoidance algorithm and an algorithm for congestion control which may be triggered by the loss of packets due to temporary interruptions of the communication network. Thus, the effects of a handover procedure of a communication link in the mobile communication network may be misinterpreted as the occurrence of congestion and may trigger algorithms designed to cope with network congestion and which degrade the application data throughput unnecessarily.
It is therefore object of the present invention to provide a communication method and system for improved transmission rate of data packets transmitted between data processing devices via a communication network.
According to one aspect of the invention, the communication method of the invention for transmitting a plurality of data packets between at least two communication units (CU1, CU2, CU4) via a communication network (N) includes the steps of: a) scheduling said data packets into a sequence for transmission at a first communication unit (CU1 or CU2 or CU4), b) sending said data packets to a second communication unit (CU2 or CU4 or CU1) via the communication network (N), c) determining, at the first communication unit (CU1 or CU2 or CU4), which data packets were lost or will be lost during transmission due to a temporary interruption of the communication network (N), based on information received form the communication network, and d) transmitting said data packets determined to be lost at a later point in time.
According to another aspect of the invention, the communication method for transmitting a plurality of data packets between at least two communication units (CU1,CU2, CU4) via a communication network (N) includes the steps of: a) scheduling said data packets into a sequence for transmission at a first communication unit (CU1 or CU2 or CU4), b) sending said data packets,to a second communication unit (CU2 or CU4 or CU1) via the communication network (N), c) determining, at the first communication unit (CU1 or CU2 or CU4), which data packets were lost or will be lost during transmission due to a temporary interruption of the communication network (N), based on information received from the communication network, including generating an interrupt message (IM) at a network node (N1, N2, MS) indicating a time period during which the communication link via the communication network (N) is temporarily interrupted; receiving said interrupt message (IM) at the first communication unit (CU1 or CU2 or CU4); and processing the interrupt message (IM) to determine data packets, which were transmitted or will be transmitted during said period, and d) retransmitting said data packets at a time after the time period indicated in the interrupt message (IM).
According to another aspect of the invention, the communication system comprises: a first communication unit (CU1 or CU2 or CU4), formed by a first data processing device (C1 or C2 or C4) and first transmission control means (T1 or T2 or T4); a second communication unit (CU2 or CU4 or CU1), formed by a second data processing device (C2 or C4 or C1) and second transmission control means (T2 or T4 or T1); a communication network (N) for transmitting data partitioned into a plurality of data packets from said first communication unit (CU1 ox CU2 or CU4) to said second communication unit (CU2 or CU4 or CU1); wherein said first transmission control means (T1 or T2 or T4) are arranged to determine data packets which were lost or will be lost during transmission, based on information received the communication network (N), and transmits said data packets determined to be lost to the second communication unit (CU2 or CU4 or CU1) at a later point in time.
According to another aspect of the invention, the communication system comprises: a first communication unit (CU1 or CU2 or CU4), formed by a first data processing device (C1 or C2 or C4) and first transmission control means (T1 or T2 or T4); a second communication unit (CU2 or CU4 or CU1), formed by a second data processing device (C2 or C4 or C1) and second transmission control means (T2 or T4 or T1) ; a communication network (N) for transmitting data partitioned into a plurality of data packets from said first communication unit (CU1 or CU2 or CU4) to said second communication unit (CU2 or CU4 or CU1); interrupt message means (N1, N2, MS, BTS, BSC, MSC) for generating an interrupt message (IM) indicating a time period during which a transmission via the mobile communication network is temporarily interrupted due to a handover procedure or other temporary interruptions; and wherein said first transmission control means (T1 or T2 or T4) are arranged to determine data packets which were lost or will be lost during transmission, based on information received the communication network (N), and transmits said data packets determined to be lost to the second communication unit (CU2 or CU4 or CU1) at a later point in time.
The method and system according to the invention therefore allows to determine data packets or groups of data packets which were lost or will be lost during transmission due to a temporary interruption of the communication link, established via the communication network, based on information received from the communication network, and allow to transmit said data packets or groups of packets at a later time.
A further advantageous embodiment of the invention allows to intermediately store data packets scheduled for transmission in a temporary storage means.
Further, packets which were lost or will be lost during transmission may be identified based on an interrupt message received at a data processing device from the communication network indicating a time period during which the communication link via the communication network is temporarily interrupted. This allows an efficient handling of packet transmission in the presence of a temporary interruption.
In yet another advantageous embodiment of the invention, based on the identification of data packets which were lost or will be lost during transmission, packets can be conveniently retrieved from said temporary storage means and transmitted at a later point in time. As an alternative, the transmission of data packets can be temporarily interrupted, if the information obtained from the communication network about the temporary interruption or interrupt message, respectively, was received before or during the temporary interruption of the network.
The interrupt message can advantageously include a time stamp, execution time, execution time offset and an execution delay parameter for allowing an efficient handling of packet transmission in the presence of a temporary interruption.
Further, the communication system can include a mobile communication network and the interrupt message indicating said period of time of temporary interruption of the network can be generated at a mobile station or a network node of said mobile communication network.
In still another advantageous embodiment of the present invention the mobile communication network can be a GSM network and the message indicating the period during which the transmission link via the communication network is temporarily interrupted can be sent at the same time as a handover command, used in GSM systems for initiating a handover procedure of the communication link between two network nodes.
In yet another advantageous embodiment the communication of data packets between data processing devices can include transmission via an xe2x80x9cInternetxe2x80x9d network, connecting a plurality of data processing devices.
Further advantages and improvements of the invention can be found in the dependent claims.